#include <my_header.h>
// 以只读方式打开源文件 以可读可写打开、不存在则创建、存在则
// 删除dest_file中的内容 最后关闭打开的两个文件
/* Usage: ./1_little_cp.c sourfile destfile */
int main(int argc, char *argv[]){                                  
    ARGS_CHECK(argc, 3);
    // 源文件只读
    int fdr = open(argv[1], O_RDONLY);
    ERROR_CHECK(fdr, -1, "open reaf");
    // 打印src文件对象的描述符，一般为3
    printf("%d\n", fdr);
    int fdw = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0666);
    ERROR_CHECK(fdw, -1, "open write");
    // 打印src文件对象的描述符，一般为4
    printf("%d\n", fdw);

    // 使用char数组的原因是方便控制内存大小，因为char元素固定1个字节。
    // 注意不要以为这里是复制文本文件，任何文件的数据都是字节书库
    char buf[1024] = { 0 };
    // 假设我呢见小于1024，一次性读写完成
    ssize_t sret = read(fdr, buf, sizeof(buf));
    // 读多少字节写多少字节，就写sret个字节，不能写多
    write(fdw, buf, sret);

    // 关闭src和dest文件
    close(fdr);
    close(fdw);
    return 0;
}


